#include "message.h"
#include<QJsonObject>
#include<QJsonDocument>
#include<QDebug>
Message::Message()
{

}

Message::Message(const Message &msg)
{
    this->code = msg.getCode();

}


// 反序列化对象
Message Message::parserFromJSON(QString text)
{
    Message msg;

    QJsonDocument jsonDocument = QJsonDocument::fromJson(text.toLocal8Bit().data());
    if(jsonDocument.isNull())    {
        qDebug()<< "String NULL"<< text.toLocal8Bit().data();
        return msg;
    }
    QJsonObject jsonObject = jsonDocument.object();
     auto code = jsonObject.value("code");
     msg.setCode(code.toInt());
     msg.setMac(jsonObject.value("mac").toString());
     return msg;

}

QString Message::toJSON()
{
    QJsonObject json;
    json.insert("code", this->getCode());
    json.insert("mac",this->getMac());

    // 构建 JSON 文档
    QJsonDocument document;
    document.setObject(json);
    QByteArray byteArray = document.toJson(QJsonDocument::Compact);
    QString strJson(byteArray);



    return strJson;
}

int Message::getCode() const
{
    return this->code;

}

void Message::setCode(int code)
{
    this->code = code;
}

void Message::setMac(QString mac)
{
    this->mac = mac;
}

QString Message::getMac() const
{
    return this->mac;
}
